perm filename ARM.MEM[2,VDS] blob
sn#252099 filedate 1976-12-01 generic text, type C, neo UTF8
COMMENT ⊗ VALID 00003 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002 \|\\M1BDR30\M2SIGN57\M3NGR25\M4NGR20\F2\CVICARM
C00008 00003 \F1\CMONITOR COMMANDS - PROGRAM CONTROL
C00026 ENDMK
C⊗;
\|\\M1BDR30;\M2SIGN57;\M3NGR25;\M4NGR20;\F2\CVICARM
\F3\C154 EAST DANA STREET
\CMOUNTAIN VIEW, CA. 94041
\←L\+=400;\→l\←R\→r
\F1
\C INSTRUCTION SET FOR VICARM MANIPULATOR CONTROL PROGRAM
\C Version for model Stanford Arm using PDP-11/45
\F1
\CMONITOR COMMANDS - DEFINING POSITIONS
\F3
\J The following commands are used for defining transforms and vectors.
Vectors are always specified in cartesian coordinates and transforms are
specified in cartesian coordinates and euler angles.\.
\F1
\L Command \R Operation
\F3
VECT <vect> \j Used to define vector #vect. Vectors 0,1,2,3 are
reserved and are predefined to be the null vector
and unit vectors in the x, y, and z directions
respectively. Reserved vectors can be listed, but
cannot be modified. Defining a vector to have all
zero elements releases it from use.\.
TRANS <trans> \j Used to specify and modify the value of transform
#trans. The current value of the transform is printed
and any of the transform elements (x,y,z,o,a,t)
can be modified by typing a new value after the
query CHANGES?. Values that are not to be changed
can be omitted. Changes are continuously asked for
until no change in the transform is made.
Transform 0 is
reserved and is predefined to be the park position.
As with the command VECT, the reserved tranform can
be listed but not modified.
The X,Y,Z specify the position of a point centrally
located between the finger tips in table coordinates.
O,A,T specify the orientation of the hand. With all three
angles (in degrees) zero, the hand points in the negative Y
direction with the fingers in a horizontal plane. The
orientation vector which points from one finger tip to the
other is aligned along the X axis. O specifies a rotation
of the orientation vector about a vertical direction. Thus
at O=90deg, the hand, still horizontal, would point along the
positive X direction. A is a rotation about the orientation
vector. With A=90deg. the hand always points straight down.
T is a final rotation about the axis of the wrist and
corresponds to a rotation of the final )#6) joint.\.
RELTRN <t1>,...,<tn> \jReleases transform numbers t1 to tn for future use.
This command takes an arbitrary number of arguments.\.
HERE <trans> \jDefines transform #trans to be current arm position.
As with TRANS, post modification of the euler angles
is permitted.\.
WHERE \jPrints out the current location of the arm in Euler
and joint angles.\.
\JIf <trans> or <vect> is omitted in the commands VECT, TRANS, or HERE,
the first available transform or vector is selected.\.
\F1\CMONITOR COMMANDS - PROGRAM CONTROL
\L Command \R Operation
\F3
EXEC <sp1>,<sp2>,<nstp> \jExecutes the section of stored motion instructions
from sp1 to sp2, nstp number of times. If nstp is
omitted, one pass is assumed. If both nstp and sp2
are omitted, execution of instructions starts at
step sp1 and continues until the first PAUSE or
STOP is encountered.\.
PROCEED or P \jContinues motion program at the step following the
step where execution was halted due to a PAUSE
instruction or runtime error.\.
\F1\CMONITOR COMMANDS - PROGRAM EDITING
\F3
\JThe following command is used for entering into motion instruction
program editing mode. This editing mode is used for creating motion
specification programs and modifying existing programs.\.
\F1
\L Command \R Operation
\F3
EDIT <step> \jPermits you to modify existing code starting at
instruction #step. If no step number is specified
editing proceeds from the step were the last
editing seqence was terminated.\.
\J Once having entered the edit program, the following edit functions may
be invoked. All these instructions may be shortened to a single (first) letter command.\.
\F1
\L Command \R Operation
\F3
<any motion instruction> \j Replaces the motion instruction stored at the
current step with the instruction typed in. The
next step is then displayed for editing.\.
<cr> \jTyping an empty line ( carriage return ) leaves the
current step unaltered and displays the next
instruction for editing.\.
DELETE <nstep> \jDeletes an arbitrary number of instructions starting
with the current instruction step. If nstep is not
specified, only the current step is deleted. Else,
specifying a negative number of lines deletes the
current line and nstep-1 previous lines ( i.e. lines
with smaller step numbers ). Specifying a positive
number of lines has the opposite affect. In all
cases, the steps following the deleted instructions
are re-numbered.\.
FIND <motion instr name> \jPerforms a linear search for the first occurance
of a motion instruction whose function name matches
the requested name. If such a step if found, it is
displayed for editing, otherwise an error message is
typed. If no motion instruction name is specified,
the function name requested in the last FIND command
is used.\.
INSERT \jMoves instructions starting at the current step
down one and inserts in its place any motion
instruction that is typed in. The process is
repeated until an empty line is typed.\.
LAST \jLeaves the current step unaltered and displays the
previous step for editing.\.
SKIP <nstep> \jLeaves the current step unaltered and displays the
instruction which is nstep number of steps from the
current line for editing.\.
TERMINATE \jReturns to monitor program.\.
\F1\CMONITOR COMMANDS - INPUT/OUTPUT
\F3
\J The following commands are used to get hard copies of programs, vectors,
and transforms listed on the teletype. When using any of the first three
commands listed below, if no arguments are typed in, all program instructions,
vector, or transforms will be typed out. If only one item is to be typed,
the second argument of the command may be omitted. In all four commands, any
requested vector, transform, or movement instruction step that is not
initialized, will not be typed out.\.
\F1
\L Command \R Operation
\F3
LISTV <vect1>,<vect2> \jTypes out vectors vect1 to vect2.\.
LISTT <trans1>,<trans2> \jTypes out transforms trans1 to trans2.\.
LISTS <step1>,<step2> \jTypes out motions instruction from step1 to step2.\.
LISTA \jTypes out all instructions, vectors, and transforms
in existance.\.
\F1
\CMONITOR COMMANDS - MISC.
\L Command \R Operation
\F3
CLEAR \jRe-initializes all the vectors, transforms, and
instructions steps. This is a totally destructive
operation. This function first asks "Are you
sure (Y,N)?" to verify that the operation is to
be performed.\.
DONE \jMonitor program stops, computer left in a HALT
state.\.
\F1
\CMOTION INSTRUCTIONS
\F3
\J In the following motion instructions all distances are in inches, time
is in seconds, and messages can be any strings containing 71 or fewer
characters.\.
\F1
\L Command \R Operation
\F3
DRAW <scale>,<vect>,<time>,<integration flag> \RMoves the arm along a straight line in the direction
\jof vector vect for a distance
scale*vect at an average velocity of scale*vect/time.
If the integration flag = 0, the hardware integration
is left on during the motion, otherwise it is turned
off.\.
GO <trans> \jMoves the arm to the position specified by transform
trans. If no transform is specified, a new
transform is defined and it is set equal to the
current arm position.\.
MOVE <trans> \jThis operation is equivalent to three successive
GO instructions. The first motion pulls the arm
back about two inches along the hands central axis. The
second motion moves to the approach point of the
final position. The approach point is a position
about two inches from the final position along the negative
of the final transform approach vector. The last
stage of this motion is moving from the approach
point to the desired transform position.\.
OPEN <dist> \jChanges the hand opening to dist inches.\.
GRASP <dist> \jCloses the hand and generates an error message
if the final hand opening is less than dist. The
closing speed of the hand is set at approximately
1 inch per second.\.
DRIVE <jt>,<angle>,<time> \jOperates the single joint specified by the
parameter <jt> (1-7). The current joint angle
is changed by an amount <angle>. The change in
joint angle must be specified in degrees or inches
which ever applies. The duration <time> must be
specified in seconds and fractions of seconds.\.
PAUSE <message> \jTerminates execution of motion program and
outputs message. Execution can be continued from
this point by typing PROCEED.\.
STOP <message> \jSame as PAUSE except that motion cannot be continued.\.